Virtualization allows the multiplexing of an underlying host computer between different virtual machines. The host computer allocates a certain amount of its resources to each of the virtual machines. Each virtual machine is then able to use the allocated resources to execute applications (referred to as a guest), including an operating system (referred to as a guest operating system) that runs on the virtual machine.
A virtual machine system can host multiple guests and each guest is assigned multiple devices, such as network interface cards (NICs), disks, graphics cards, sound cards, video cards, modems, and bridges. Typically, the host computer and the guest refer to a device by a hardware identifier (ID). A hardware ID can be a Media Access Control (MAC) address, a topological location (e.g., a Peripheral Component Interconnect (PCI) device's location on a PCI bus), a serial number, or a Universal Unique Identifier (UUID). However, there is no uniform, well-defined standard for naming a device in a virtual machine system.